/**
 * Date()类型 转化的时候会自动在后台调用Data.parse(),但是这种方式存在兼容性问题，解决方法是
 * 先将准备转化的日期用Date.UTC()转化，然后再带入转化完成的毫秒数
 * 
 * 2.不管采用哪种方式去转化这个毫秒，最后返回的都是本地设置的时区对应的时间
 */
// 1.new Date()传入毫秒数返回对应指定的时间对象，不传默认的返回当前时间
var d1 = new Date()
console.log(d1) // Sun Sep 08 2019 10:27:59 GMT+0800 (中国标准时间)
var d2 = new Date(0)
console.log('d2', d2) // Thu Jan 01 1970 08:00:00 GMT+0800 (中国标准时间)

// 为了得到指定时间的毫秒数，ECMAScripe提出了Date.parse()和Date.UTC()方法，这两个方法返回对应日期的毫秒数

/**
 * Date.parse()没有规定到底要传什么样子的参数 ，因此这个方法的行为因实现而异，而且通常是因地区而异
 */
var d4 = Date.parse('9/8/2019')
console.log(d4) // 1567872000000
var d3 = Date.parse('2019-9-8')
console.log(d3) // 1567872000000   但是这种传入数据的格式在safri中会报错

// Date.UTC()  可以解决上面的兼容性问题  月份基于0
var allFives = new Date(Date.UTC(2005, 4, 5, 17, 55, 55)) // 参数意义分别为 年月日时分秒
console.log(allFives) // Fri May 06 2005 01:55:55 GMT+0800 (中国标准时间)

// 利用Date()对象去测试图片加载速度 1.比价新式的浏览器 Date.now
var start = Date.now() // 返回表示调用这个方法时的日期和时间的毫秒数
var end = 0
var image = document.createElement('img')
document.body.appendChild(image)
image.src = './1.jpg'
image.onload = function () {
    console.log('image', image)
    end = Date.now()
    // 拿到img onload的时候的时间差，会存在很小的误差
    var result =  end - start   //这个差值，跟chrom的NetWork的面板显示的时间误差在10ms左右
    console.log('result', result)
    console.log('测试图片加载速度', 378 / result) // 75.6 kb/ms 分配给浏览器的网速，
    // 只占了当前带宽的很小一部分，所以优化网页的加载速度就尤为重要
    // navigator.connection.downlink 表示当前带宽，仅在谷歌中适用 
    console.log('navigator.connection.downlink', navigator.connection.downlink * 1024 / 8) 
    //736
}


